using System;
 using System.Collections.Generic;
 using System.Text;
 using System.Data;
 using System.Data.SqlClient;
 using MinhTam.DataAccess.Web;
//───────────────────────────────────────────────────────────────────────────────────────
 namespace MinhTam.Objects
  { 
 public class ALBUM_ANH:  SQLConnectWeb { 
 public static string sTableName= "ALBUM_ANH"; 
   public string ALBUM_ID;
   public string TEN_ALBUM;
   public string NGUOI_TAO;
   public string NGAY_TAO;
   public string MO_TA;
   #region DataColumn Name ;
 public static  string cl_ALBUM_ID="ALBUM_ID" ;
 public static  string cl_TEN_ALBUM="TEN_ALBUM" ;
 public static  string cl_NGUOI_TAO="NGUOI_TAO" ;
 public static  string cl_NGAY_TAO="NGAY_TAO" ;
 public static  string cl_MO_TA="MO_TA" ;
 #endregion;
//───────────────────────────────────────────────────────────────────────────────────────
       public ALBUM_ANH() {}
//───────────────────────────────────────────────────────────────────────────────────────
       public ALBUM_ANH(
         string sALBUM_ID,
         string sTEN_ALBUM,
         string sNGUOI_TAO,
         string sNGAY_TAO,
         string sMO_TA){
         this.ALBUM_ID= sALBUM_ID;
         this.TEN_ALBUM= sTEN_ALBUM;
         this.NGUOI_TAO= sNGUOI_TAO;
         this.NGAY_TAO= sNGAY_TAO;
         this.MO_TA= sMO_TA;
}
//───────────────────────────────────────────────────────────────────────────────────────
       public static ALBUM_ANH Create_ALBUM_ANH ( string sALBUM_ID  ){
    DataTable dt=SearchByALBUM_ID(sALBUM_ID) ;
    if(dt!=null && dt.Rows.Count>0) 
      return new ALBUM_ANH(dt,0);
      return null;
}
//───────────────────────────────────────────────────────────────────────────────────────
   private static string s_Select()
    {
   return " SELECT T.* FROM ALBUM_ANH AS T";
    }
//───────────────────────────────────────────────────────────────────────────────────────
 public ALBUM_ANH( DataTable table,int pos)
{
         this.ALBUM_ID= table.Rows[pos]["ALBUM_ID"].ToString();
         this.TEN_ALBUM= table.Rows[pos]["TEN_ALBUM"].ToString();
         this.NGUOI_TAO= table.Rows[pos]["NGUOI_TAO"].ToString();
         this.NGAY_TAO= table.Rows[pos]["NGAY_TAO"].ToString();
         this.MO_TA= table.Rows[pos]["MO_TA"].ToString();
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByALBUM_ID(string sALBUM_ID)
{
          string sqlSelect= s_Select()+ " WHERE ALBUM_ID  ="+ sALBUM_ID + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByALBUM_ID(string sALBUM_ID,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE ALBUM_ID"+ sMatch +sALBUM_ID + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByTEN_ALBUM(string sTEN_ALBUM)
{
          string sqlSelect= s_Select()+ " WHERE TEN_ALBUM  Like N'%"+ sTEN_ALBUM + "%'"; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByNGUOI_TAO(string sNGUOI_TAO)
{
          string sqlSelect= s_Select()+ " WHERE NGUOI_TAO  ="+ sNGUOI_TAO + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByNGUOI_TAO(string sNGUOI_TAO,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE NGUOI_TAO"+ sMatch +sNGUOI_TAO + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByNGAY_TAO(string sNGAY_TAO)
{
          string sqlSelect= s_Select()+ " WHERE NGAY_TAO  ="+ sNGAY_TAO + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByNGAY_TAO(string sNGAY_TAO,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE NGAY_TAO"+ sMatch +sNGAY_TAO + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByMO_TA(string sMO_TA)
{
          string sqlSelect= s_Select()+ " WHERE MO_TA  Like '%"+ sMO_TA + "%'"; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable Search( string sALBUM_ID
            , string sTEN_ALBUM
            , string sNGUOI_TAO
            , string sNGAY_TAO
            , string sMO_TA
            )
 {
       string sqlselect=s_Select() + " WHERE" ;
      if (sALBUM_ID!=null && sALBUM_ID!="") 
            sqlselect +=" AND ALBUM_ID =" + sALBUM_ID ;
      if (sTEN_ALBUM!=null && sTEN_ALBUM!="") 
            sqlselect +=" AND TEN_ALBUM LIKE N'%" + sTEN_ALBUM +"%'" ;
      if (sNGUOI_TAO!=null && sNGUOI_TAO!="") 
            sqlselect +=" AND NGUOI_TAO =" + sNGUOI_TAO ;
      if (sNGAY_TAO!=null && sNGAY_TAO!="") 
            sqlselect +=" AND NGAY_TAO LIKE '%" + sNGAY_TAO +"%'" ;
      if (sMO_TA!=null && sMO_TA!="") 
            sqlselect +=" AND MO_TA LIKE '%" + sMO_TA +"%'" ;
   sqlselect=sqlselect.Replace("WHERE AND","WHERE");
   int n=sqlselect.IndexOf("WHERE");
   if(n==sqlselect.Length -5) sqlselect=sqlselect.Remove(n,5) ;
   return GetTable(sqlselect,sTableName);
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static ALBUM_ANH Insert_Object(
string  sTEN_ALBUM
            ,string  sNGUOI_TAO
            ,string  sNGAY_TAO
            ,string  sMO_TA
            ) 
 { 
              string tem_sTEN_ALBUM=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sTEN_ALBUM,"nvarchar");
              string tem_sNGUOI_TAO=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sNGUOI_TAO,"int");
              string tem_sNGAY_TAO=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sNGAY_TAO,"datetime");
              string tem_sMO_TA=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sMO_TA,"ntext");

             string sqlSave=" INSERT INTO ALBUM_ANH("+
                   "TEN_ALBUM," 
        +                   "NGUOI_TAO," 
        +                   "NGAY_TAO," 
        +                   "MO_TA) VALUES("
 +tem_sTEN_ALBUM+","
 +tem_sNGUOI_TAO+","
 +tem_sNGAY_TAO+","
 +tem_sMO_TA +")";
             bool OK = Exec(sqlSave)>=1?true:false;
           if (OK) 
           { 
          ALBUM_ANH newALBUM_ANH= new ALBUM_ANH();
                 newALBUM_ANH.ALBUM_ID=GetTable( " SELECT TOP 1 ALBUM_ID FROM ALBUM_ANH ORDER BY ALBUM_ID DESC ").Rows[0][0].ToString();
              newALBUM_ANH.TEN_ALBUM=sTEN_ALBUM;
              newALBUM_ANH.NGUOI_TAO=sNGUOI_TAO;
              newALBUM_ANH.NGAY_TAO=sNGAY_TAO;
              newALBUM_ANH.MO_TA=sMO_TA;
            return newALBUM_ANH; 
           } 
           else return null ;
}
//───────────────────────────────────────────────────────────────────────────────────────
public bool  Save_Object(string sTEN_ALBUM
                ,string sNGUOI_TAO
                ,string sNGAY_TAO
                ,string sMO_TA
                ) 
 { 
              string tem_sTEN_ALBUM=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sTEN_ALBUM,"nvarchar");
              string tem_sNGUOI_TAO=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sNGUOI_TAO,"int");
              string tem_sNGAY_TAO=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sNGAY_TAO,"datetime");
              string tem_sMO_TA=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sMO_TA,"ntext");

 string sqlSave=" UPDATE ALBUM_ANH SET "+"TEN_ALBUM ="+tem_sTEN_ALBUM+","
 +"NGUOI_TAO ="+tem_sNGUOI_TAO+","
 +"NGAY_TAO ="+tem_sNGAY_TAO+","
 +"MO_TA ="+tem_sMO_TA+" WHERE ALBUM_ID="+MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(this.ALBUM_ID,"int identity");;
              bool OK = Exec(sqlSave)>=1?true:false;
           if (OK) 
           { 
                this.TEN_ALBUM=sTEN_ALBUM;
                this.NGUOI_TAO=sNGUOI_TAO;
                this.NGAY_TAO=sNGAY_TAO;
                this.MO_TA=sMO_TA;
           } 
 return OK;  }
//───────────────────────────────────────────────────────────────────────────────────────
 #region Update DataColumn  
 public bool Update_ALBUM_ID(string sALBUM_ID)
{
    string sqlSave= " UPDATE ALBUM_ANH SET ALBUM_ID='"+ sALBUM_ID+ "' WHERE ALBUM_ID='"+ this.ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.ALBUM_ID=sALBUM_ID;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_TEN_ALBUM(string sTEN_ALBUM)
{
    string sqlSave= " UPDATE ALBUM_ANH SET TEN_ALBUM='N"+ sTEN_ALBUM+ "' WHERE ALBUM_ID='"+ this.ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.TEN_ALBUM=sTEN_ALBUM;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_NGUOI_TAO(string sNGUOI_TAO)
{
    string sqlSave= " UPDATE ALBUM_ANH SET NGUOI_TAO='"+ sNGUOI_TAO+ "' WHERE ALBUM_ID='"+ this.ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.NGUOI_TAO=sNGUOI_TAO;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_NGAY_TAO(string sNGAY_TAO)
{
    string sqlSave= " UPDATE ALBUM_ANH SET NGAY_TAO='"+ sNGAY_TAO+ "' WHERE ALBUM_ID='"+ this.ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.NGAY_TAO=sNGAY_TAO;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_MO_TA(string sMO_TA)
{
    string sqlSave= " UPDATE ALBUM_ANH SET MO_TA='"+ sMO_TA+ "' WHERE ALBUM_ID='"+ this.ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.MO_TA=sMO_TA;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 #endregion
 #region Update DataColumn  Static 
 public static bool Update_TEN_ALBUM(string sTEN_ALBUM,string s_ALBUM_ID)
{
  string sqlSave= " UPDATE ALBUM_ANH SET TEN_ALBUM='N"+sTEN_ALBUM+"' WHERE ALBUM_ID='"+ s_ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_NGUOI_TAO(string sNGUOI_TAO,string s_ALBUM_ID)
{
  string sqlSave= " UPDATE ALBUM_ANH SET NGUOI_TAO='"+sNGUOI_TAO+"' WHERE ALBUM_ID='"+ s_ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_NGAY_TAO(string sNGAY_TAO,string s_ALBUM_ID)
{
  string sqlSave= " UPDATE ALBUM_ANH SET NGAY_TAO='"+sNGAY_TAO+"' WHERE ALBUM_ID='"+ s_ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_MO_TA(string sMO_TA,string s_ALBUM_ID)
{
  string sqlSave= " UPDATE ALBUM_ANH SET MO_TA='"+sMO_TA+"' WHERE ALBUM_ID='"+ s_ALBUM_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
#endregion
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable GetTableAll() 
 {
       return  GetTableAll(null, null);
 }
public static DataTable GetTableAll(string sWhere, params string[] orderFields)
{
   string sqlSelect = " SELECT * FROM ALBUM_ANH";
   if (!string.IsNullOrEmpty(sWhere))
      sqlSelect += " where " + sWhere; 
   string order = "";
   if (orderFields != null && orderFields.Length > 0)
     order = string.Join(",", orderFields);
   if (order != "")
      sqlSelect += " ORDER BY " + order;
   return GetTable(sqlSelect,sTableName);
}
//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
public static DataTable GetTableFields(string sWhere, string[] orderFields, params string[] fields)
{
 string field = "";
 if (fields != null && fields.Length > 0)
    field = string.Join(",", fields);
 else field = "*";
 string sqlSelect = string.Format(" SELECT {0} FROM {1} ", field, "ALBUM_ANH");
 if (!string.IsNullOrEmpty(sWhere))
    sqlSelect += " where " + sWhere;
 string order = "";
 if (orderFields != null && orderFields.Length > 0)
    order = string.Join(",", orderFields);
 if (order != "")
    sqlSelect += " ORDER BY " + order;
 return GetTable(sqlSelect,sTableName);
 }
 public static DataTable GetTableFields(params string[] fields)
 {
    return GetTableFields(null, null, fields);
 }
 public static DataTable GetTableFields(string[] orderFields, params string[] fields)
 {
    return GetTableFields(null, orderFields, fields);
 }
//───────────────────────────────────────────────────────────────────────────────────────
   private static DataTable dt_ALBUM_ANH;
   public static bool Change_dt_ALBUM_ANH = true;
   public static bool AllowAutoChange = true;
   public static DataTable get_ALBUM_ANH()
   {
   if (dt_ALBUM_ANH == null || Change_dt_ALBUM_ANH == true)
     {
   dt_ALBUM_ANH = GetTableAll();
         Change_dt_ALBUM_ANH = true && AllowAutoChange ;
     }
     return dt_ALBUM_ANH;
   }
   //───────────────────────────────────────────────────────────────────────────────────────
}  
 } 
